package gov.chinatax.ctcps.generator.dao.pojo;

import java.io.Serializable;
import java.sql.Blob;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

/** 
 *        @hibernate.class
 *         table="PRT_TEMPLATE"
 *     
*/
public class PrtTemplate implements Serializable {

    /** identifier field */
    private String tableGuid;

    /** nullable persistent field */
    private String tableUri;

    /** nullable persistent field */
    private Blob tableTemplate;

    /** nullable persistent field */
    private String prtScheme;

    /** nullable persistent field */
    private String remark1;

    /** nullable persistent field */
    private String remark2;

    /** nullable persistent field */
    private String remark3;

    /** nullable persistent field */
    private String remark4;

    /** full constructor */
    public PrtTemplate(String tableGuid, String tableUri, Blob tableTemplate, String prtScheme, String remark1, String remark2, String remark3, String remark4) {
        this.tableGuid = tableGuid;
        this.tableUri = tableUri;
        this.tableTemplate = tableTemplate;
        this.prtScheme = prtScheme;
        this.remark1 = remark1;
        this.remark2 = remark2;
        this.remark3 = remark3;
        this.remark4 = remark4;
    }

    /** default constructor */
    public PrtTemplate() {
    }

    /** minimal constructor */
    public PrtTemplate(String tableGuid) {
        this.tableGuid = tableGuid;
    }

    /** 
     *            @hibernate.id
     *             generator-class="assigned"
     *             type="java.lang.String"
     *             column="TABLE_GUID"
     *         
     */
    public String getTableGuid() {
        return this.tableGuid;
    }

    public void setTableGuid(String tableGuid) {
        this.tableGuid = tableGuid;
    }

    /** 
     *            @hibernate.property
     *             column="TABLE_URI"
     *             length="500"
     *         
     */
    public String getTableUri() {
        return this.tableUri;
    }

    public void setTableUri(String tableUri) {
        this.tableUri = tableUri;
    }

    /** 
     *            @hibernate.property
     *             column="TABLE_TEMPLATE"
     *             length="4000"
     *         
     */
    public Blob getTableTemplate() {
        return this.tableTemplate;
    }

    public void setTableTemplate(Blob tableTemplate) {
        this.tableTemplate = tableTemplate;
    }

    /** 
     *            @hibernate.property
     *             column="PRT_SCHEME"
     *             length="32"
     *         
     */
    public String getPrtScheme() {
        return this.prtScheme;
    }

    public void setPrtScheme(String prtScheme) {
        this.prtScheme = prtScheme;
    }

    /** 
     *            @hibernate.property
     *             column="REMARK1"
     *             length="100"
     *         
     */
    public String getRemark1() {
        return this.remark1;
    }

    public void setRemark1(String remark1) {
        this.remark1 = remark1;
    }

    /** 
     *            @hibernate.property
     *             column="REMARK2"
     *             length="300"
     *         
     */
    public String getRemark2() {
        return this.remark2;
    }

    public void setRemark2(String remark2) {
        this.remark2 = remark2;
    }

    /** 
     *            @hibernate.property
     *             column="REMARK3"
     *             length="300"
     *         
     */
    public String getRemark3() {
        return this.remark3;
    }

    public void setRemark3(String remark3) {
        this.remark3 = remark3;
    }

    /** 
     *            @hibernate.property
     *             column="REMARK4"
     *             length="500"
     *         
     */
    public String getRemark4() {
        return this.remark4;
    }

    public void setRemark4(String remark4) {
        this.remark4 = remark4;
    }

    public String toString() {
        return new ToStringBuilder(this)
            .append("tableGuid", getTableGuid())
            .toString();
    }

    public boolean equals(Object other) {
        if ( !(other instanceof PrtTemplate) ) return false;
        PrtTemplate castOther = (PrtTemplate) other;
        return new EqualsBuilder()
            .append(this.getTableGuid(), castOther.getTableGuid())
            .isEquals();
    }

    public int hashCode() {
        return new HashCodeBuilder()
            .append(getTableGuid())
            .toHashCode();
    }

}
